petitcomputerfandomcom-20200214-history
THOLITU Programming Language Interpreter
I really enjoyed making my SimpleC Interpreter, so I decided to make another one. This one, on the other hand, is an esoteric programming language, meaning it was made to be extremely difficult to learn/use. THOLITU stands for T''he ''H''ardest ''O''bfuscated ''L''anguage ''I''n ''T''he ''U''niverse. Even I sometimes have trouble programming in it! This version includes: Max of 999 lines Up to 250+ strings and 250+ variables Two libraries (''stdcl and advcl; advml in progress) All commands can be found in libraries Instructions Enter a line, and press A. Move the dot you see to the next line you want to edit and press A again. To run, instead of selecting a line with the dot, press B. To save your program, press X. To load a program, press Y. Whilst running a program, press START to exit back to the editor, or use the >| command in the code. Changelog Version 2 *Added library support *Added the following library: advcl library *Improved engine *Ability to press START mid-program to exit to the editor Version 1.1 *Added syntax highlighting *More commands Version 1 *Initial program (was never released to the public) Download Commands I am posting THOLITU tutorials on my PTC blog! Notes I appreciate all feedback about the program! Also, if you have made something, I'd love to see it! Feel free to exchange and post things that you've made in THOLITU! Read the license at the bottom for info on redistribution of the interpreter itself. Example Programs Here's a few sample programs I made to help you guys out. Hello world: #IMPORT <{stdcl}> -<{Hello, world!} !O{}>B@16 >| Demonstrating input/output: #IMPORT <{stdcl}> ::S:: -<{Hello!}&|{How are you? (GOOD/BAD)}&| ->$A =>$G>^-{GOOD}|^- =>${B]>^-{BAD}|^- ^!$A:G~-{=}>^-{ -<{Awesome!} >^::{E}|^ ^!$A:G~-{/}>^-{ ^!$A:B~-{=}>^-{ -<{Awww. Hope you feel better.} >^::{E}|^ } } -<{Oops! I dont know what }&%$A{ means!}&| >^::{S}|^ ::E:: !O{}>B@32 >| This demonstrates the speed of the language: #IMPORT <{stdcl}> #IMPORT <{advcl}> %|* ::L:: x+*X:1~*=%{X} -<&%*X&| >^::{L}|^ This...well..is an HQ9 interpreter: #IMPORT <{stdcl}> #IMPORT <{advcl}> %|$ %|* -<{HQ9 Interpreter}&| =>*H>^-{H}|^- =>*Q>^-{Q}|^- =>*9>^-{9}|^- //Main Loop ::ML:: ->$C ^!$C:H~-{=}>^-{ ><^::{H}|^ } ^!$C:Q~-{=}>^-{ ><^::{Q}|^ } ^!$C:9~-{=}>^-{ ><^::{9}|^ } >^::{ML}|^ ::H:: -<{Hello, world!}&|&| |<:>< ::Q:: -<&%$C&|&| |<:>< ::9:: =>*L>^-{99}|^- ::9L:: -<&%*L{ bottles of beer on } -<{the wall,}&|&%*L{ bottle} -<{s of beer!}&|{Take one} -<{ down, pass it around,}&| x+*L:1~*=%{L} -<&%*L{ bottles of beer on } -<{the wall!}&|&| ^!*L:0~-{/}>^-{ >^::{9L}|^ } |<:>< License The Free-Use License Copyright © 2013 Persson Creations In downloading this program, permission is given to ANY and ALL users to use and edit this software. However, this software may NOT be redistributed to ANYONE without permission from IAmAPersson, even if unedited. If this is ignored, the redistributed program will be reported and deleted ASAP. This software comes AS IS. It comes with NO warranty whatsoever. If the program does not work as expected, the user MAY report the problem to IAmAPersson, but NO certainty is given that it will be fixed. IAmAPersson is NOT responsible for ANY damages, including but not limited to the user's device and/or the software due to misuse. The software name "THOLITU Interpreter" belongs completely to IAmAPersson, and may NOT be used as a name for ANY other program. If this software is redistributed rightly according to the regulations of this license, the redistributor is REQUIRED to include this license with his/her copy of "THOLITU Interpreter," along with a link to the original program. The user is also required to give a disclaimer, stating that he/she is NOT the original creator of the software, and give credit appropriately. By downloading "THOLITU Interpreter," any and all users agree to follow ALL points stated in this license, and to use this program rightly in all ways, shapes, AND forms. Category:Programs Category:Tools Category:Interpreter Category:Applications